package com.bestcem.xm.ticket.grpc.client.enums;

import lombok.Getter;

/**
 * 题目字段类型，用来列排序
 *
 * @author zq.ding <zq.ding@idiaoyan.com>
 * @version v1.0
 * @date 2021/8/27 14:59
 */
@Getter
public enum ColumnQtypeEnum {

    /**
     * 题目
     */
    COLUMN_QTYPE_QUESTION("题目", 0),
    /**
     * 开放框
     */
    COLUMN_QTYPE_OPEN("开放框", 1),
    /**
     * 评分
     */
    COLUMN_QTYPE_SCORE("评分", 2),
    /**
     * 标签
     */
    COLUMN_QTYPE_TAG("标签", 3),
    /**
     * 省份
     */
    COLUMN_QTYPE_PROVINCE("省份", 4),
    /**
     * 城市
     */
    COLUMN_QTYPE_CITY("城市", 5),
    /**
     * 区县
     */
    COLUMN_QTYPE_DISTRICT("区县", 6),
    /**
     * 详细地址
     */
    COLUMN_QTYPE_ADDRESS("详细地址", 7),
    /**
     * 经度
     */
    COLUMN_QTYPE_LONGITUDE("经度", 8),
    /**
     * 纬度
     */
    COLUMN_QTYPE_LATITUDE("纬度", 9),
    /**
     * 自定义1
     */
    COLUMN_QTYPE_C1("自定义1", 10),
    /**
     * 自定义2
     */
    COLUMN_QTYPE_C2("自定义2", 11),
    /**
     * 自定义3
     */
    COLUMN_QTYPE_C3("自定义3", 12),
    /**
     * 自定义4
     */
    COLUMN_QTYPE_C4("自定义4", 13),
    /**
     * 自定义5
     */
    COLUMN_QTYPE_C5("自定义5", 14),
    /**
     * 经纬度
     */
    COLUMN_QTYPE_COORDINATE("经纬度", 15);
    private final String name;
    private final Integer index;

    ColumnQtypeEnum(String name, Integer index) {
        this.name = name;
        this.index = index;
    }

    /**
     * 根据 index 获取枚举实体
     * 找不到则返回 null
     *
     * @param index 枚举index
     * @author zq.ding <zq.ding@idiaoyan.com>
     * @date 2021/8/31 13:35
     */
    public static ColumnQtypeEnum getByIndex(Integer index) {
        for (ColumnQtypeEnum value : values()) {
            if (value.getIndex().equals(index)) {
                return value;
            }
        }
        return null;
    }
}
